package com.slicktechnologies.shared;

import java.io.Serializable;
import java.util.Date;

import com.googlecode.objectify.Key;
import com.googlecode.objectify.annotation.Embed;
import com.googlecode.objectify.annotation.Ignore;
import com.googlecode.objectify.annotation.Serialize;
import com.slicktechnologies.shared.common.helperlayer.Config;
import com.slicktechnologies.shared.common.helperlayer.DocumentUpload;
import com.slicktechnologies.shared.common.productlayer.ItemProduct;
import com.slicktechnologies.shared.common.productlayer.ServiceProduct;
import com.slicktechnologies.shared.common.productlayer.SuperProduct;
import com.slicktechnologies.shared.common.productlayer.Tax;

// TODO: Auto-generated Javadoc
/**
 * Represents all Sales Line Items.A sales Line Item can be {@link ServiceProduct} or 
 * {@link ItemProduct}. Corresponding table should have capability to display both types of 
 * {@link ServiceProduct} and {@link ItemProduct}.
 */
@Embed
public class SalesLineItem implements Serializable
{
	
	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 5841111129485718832L;
	
	/** ************************************************Entity Attributes******************************. */
	/** The service product */
	protected String productName;
	protected String modelNo;
	protected String brand;
	protected String cat;
	protected String srNo;
	protected int quantity;
	protected double serviceTax;
	
	protected Date expectedDelDate;
	  
	  /** The % discount given on one sales line item */
	  protected double percentageDiscount;
	  
	  /** The flat discount given on one sales line item */
	  protected double flatDiscount;
	  
	  protected double price;
	  
  
	  /**
  	 * ************************************************Default Ctor*********************************************.
  	 */
	/**
	 * Instantiates a new sales line item.
	 */
	public SalesLineItem() 
	{
		super();
		quantity=1;
		productName="";
	    modelNo="";
		brand="";
		cat="";
		expectedDelDate=new Date();
		srNo="";

	}




	public String getProductName() {
		return productName;
	}




	public void setProductName(String productName) {
		if(this.productName!=null)
		    this.productName = productName.trim();
	}




	public String getModelNo() {
		return modelNo;
	}




	public void setModelNo(String modelNo) {
		this.modelNo = modelNo;
	}




	public String getBrand() {
		return brand;
	}




	public void setBrand(String brand) {
		this.brand = brand;
	}




	public String getCat() {
		return cat;
	}




	public void setCat(String cat) {
		this.cat = cat;
	}




	public int getQuantity() {
		return quantity;
	}




	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}




	public double getPercentageDiscount() {
		return percentageDiscount;
	}




	public void setPercentageDiscount(double percentageDiscount) {
		this.percentageDiscount = percentageDiscount;
	}




	public double getFlatDiscount() {
		return flatDiscount;
	}




	public void setFlatDiscount(double flatDiscount) {
		this.flatDiscount = flatDiscount;
	}




	public Date getExpectedDelDate() {
		return expectedDelDate;
	}




	public void setExpectedDelDate(Date expectedDelDate) {
		this.expectedDelDate = expectedDelDate;
	}




	public double getPrice() {
		return price;
	}




	public void setPrice(double price) {
		this.price = price;
	}




	public double getServiceTax() {
		return serviceTax;
	}




	public void setServiceTax(double serviceTax) {
		this.serviceTax = serviceTax;
	}
	
	
	public String getSrNo() {
		return srNo;
	}




	public void setSrNo(String srNo) {
		if(this.srNo!=null)
		    this.srNo=srNo.trim();
	}
	
	
	
	
	
	
	
	/*************************************************************************************************************/
	  
}
